// https://acm.hdu.edu.cn/showproblem.php?pid=1003


#include <iostream>
#include <cstdio>
using namespace std;

int n, a, b, ans;
int arr[100001];

void solution() {
    // 使用改进的 Kadane 算法，统一处理含正数或全负的情况
    ans = arr[0];          // 初始化最大和为第一个元素
    int currentSum = arr[0];
    int start = 0;         // 当前最优区间的起始下标（0-indexed）
    int end = 0;           // 当前最优区间的结束下标
    int tempStart = 0;     // 当前子数组的临时起始位置

    for (int i = 1; i < n; i++) {
        if (currentSum < 0) {
            // 如果当前累加和为负，放弃前面，从当前元素重新开始
            currentSum = arr[i];
            tempStart = i;
        } else {
            currentSum += arr[i];
        }

        // 更新全局最大值（使用 > 而非 >=，确保取最早出现的解）
        if (currentSum > ans) {
            ans = currentSum;
            start = tempStart;
            end = i;
        }
    }

    // 转换为 1-indexed 输出
    a = start + 1;
    b = end + 1;
}

int main() {
    int t;
    scanf("%d", &t);
    for (int i = 1; i <= t; i++) {
        scanf("%d", &n);
        for (int j = 0; j < n; j++) {
            scanf("%d", &arr[j]);
        }

        solution();
        printf("Case %d:\n%d %d %d\n\n", i, ans, a, b);
    }
    return 0;
}